package com.aabte.auth.group.domain.repository;

import com.aabte.auth.group.domain.model.Group;
import com.aabte.auth.group.domain.model.GroupId;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import java.util.Optional;

public interface GroupRepository {
    Page<Group> find(Pageable pageable);

    Optional<Group> find(GroupId groupId);

    GroupId nextGroupId();

    void addOrUpdate(Group group);

    void remove(Group group);
}
